const mongoose = require('mongoose');

const shareSchema = new mongoose.Schema({
  platform: {
    type: String,
    required: true,
    enum: ['pdd', 'taobao', 'douyin'] // 限制平台类型
  },
  command: {
    type: String,
    required: function() {
      return this.platform === 'pdd'; // 拼多多必须有口令
    }
  },
  imagePath: {
    type: String,
    required: function() {
      return this.platform === 'taobao' || this.platform === 'douyin'; // 淘宝和抖音必须有图片
    }
  },
  goodsInfo: {
    title: String,        // 商品标题
    price: Number,        // 商品价格（元）
    thumbnail: String,    // 商品缩略图
    sales: String,        // 销量信息
    goodsId: String,      // 商品ID
    mallId: String,       // 店铺ID
    mallName: String,     // 店铺名称
    minGroupPrice: Number,// 最低拼团价（元）
    minNormalPrice: Number,// 最低单买价（元）
  },
  shareTime: {
    type: Date,
    required: true,
    default: Date.now
  },
  status: {
    type: Number,
    required: true,
    enum: [0, 1], // 0:已结束 1:进行中
    default: 0
  },
  createdAt: {
    type: Date,
    default: Date.now
  },
  updatedAt: {
    type: Date,
    default: Date.now
  }
}, {
  timestamps: true // 自动管理 createdAt 和 updatedAt
});

// 添加索引
shareSchema.index({ platform: 1 });
shareSchema.index({ status: 1 });
shareSchema.index({ shareTime: -1 });

module.exports = mongoose.model('Share', shareSchema); 